
// 定义懒加载插件
import { useIntersectionObserver } from '@vueuse/core'

// 定义懒加载插件
export const lazyPlugin = {
    install(app){
        // 懒加载指令逻辑
        // 定义全局指令 - 实现图片懒加载效果
        app.directive('img-lazy',{
            mounted(el,binding){
                // el:指令绑定的元素
                // binging:指令等于号后面绑定的值
                
                // 判断图片是否进入视口区
                const { stop } = useIntersectionObserver(
                    el,
                    ([{ isIntersecting }]) => {
                        if(isIntersecting){
                            // 进入了视口区域
                            el.src = binding.value
                            
                            // 当第一次赋值以后,停止监听
                            stop()
                        }
                    },
                )
            }
        })
    }
}